﻿/*
Copyright (C) 2009  Tomasz Chrzanowski

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>
*/

using System;
using System.Runtime.Serialization;

namespace Com.TomCdc.ChangeDataCapture
{
    /// <summary>
    /// The exception that is thrown if errors occur when processing captured data change.
    /// </summary>
    [Serializable]
    public class MissingInformationException : Exception
    {
        /// <summary>
        /// Initialize a new instance of the  <see cref="MissingInformationException"/> class.
        /// </summary>
        public MissingInformationException()
            : base()
        {
        }


        /// <summary>
        /// Initialize a new instance of the <see cref="MissingInformationException"/> class with a specified error message.
        /// </summary>
        /// <param name="message">A message that describes the error.</param>
        public MissingInformationException(string message)
            : base(message)
        {
        }


        /// <summary>
        /// Initialize a new instance of the <see cref="MissingInformationException"/> class with a specified error message and
        /// referance to the exception that is the cause of current exception.
        /// </summary>
        /// <param name="message">A message that describes the error</param>
        /// <param name="cause">Referance to the exception that is the cause of current exception.</param>
        public MissingInformationException(string message, Exception cause)
            : base(message, cause)
        {
        }


        /// <summary>
        /// Initialize a new instance of the <see cref="MissingInformationException"/> class with serialized data.
        /// </summary>
        /// <param name="info">The object that holds the serialized object data. </param>
        /// <param name="context">The contextual information about the source or destination.</param>
        protected MissingInformationException(SerializationInfo info, StreamingContext context)
            : base(info, context)
        {
        }
    }
}

